home *** CD-ROM | disk | FTP | other *** search
- #ifndef MC_MOUSE_H
- #define MC_MOUSE_H
-
- #ifdef HAVE_LIBGPM
-
- /* GPM mouse support include file */
- #ifdef HAVE_LIBGPM
- #include <gpm.h>
- #else
- #include "gpm-xterm.h"
- #endif
-
- #else
-
- /* Equivalent definitions for non-GPM mouse support */
- /* These lines are modified version from the lines appearing in the */
- /* gpm.h include file of the Linux General Purpose Mouse server */
-
- #define GPM_B_LEFT 4
- #define GPM_B_MIDDLE 2
- #define GPM_B_RIGHT 1
-
- /* Xterm mouse support supports only GPM_DOWN and GPM_UP */
- /* If you use others make sure your code also works without them */
- enum Gpm_Etype {
- GPM_MOVE=1,
- GPM_DRAG=2, /* exactly one in four is active at a time */
- GPM_DOWN=4,
- GPM_UP= 8,
-
- #define GPM_BARE_EVENTS(ev) ((ev)&0xF)
-
- GPM_SINGLE=16, /* at most one in three is set */
- GPM_DOUBLE=32,
- GPM_TRIPLE=64,
-
- GPM_MFLAG=128, /* motion during click? */
- GPM_HARD=256 /* if set in the defaultMask, force an already
- used event to pass over to another handler */
- };
-
- typedef struct Gpm_Event {
- int buttons, x, y;
- enum Gpm_Etype type;
- } Gpm_Event;
-
- extern int gpm_fd;
-
- #endif
-
- /* General mouse support definitions */
-
- typedef int (*mouse_h)(Gpm_Event *, void *);
-
- #define NO_MOUSE 0
- #define GPM_MOUSE 1
- #define XTERM_MOUSE 2
-
- void init_mouse (void);
- void shut_mouse (void);
-
- /* Type of mouse: NO_MOUSE, GPM_MOUSE or XTERM_MOUSE */
- extern int use_mouse_p;
- /* If use_mouse_p is XTERM_MOUSE: is mouse currently active? */
- extern int xmouse_flag;
-
- int mouse_handler (Gpm_Event *gpm_event);
- int redo_mouse (Gpm_Event *event);
-
- /* Constants returned from mouse handlers */
-
- #define MOU_NORMAL 0x00
- #define MOU_REPEAT 0x01
- #define MOU_ENDLOOP 0x02
- #define MOU_LOCK 0x04
-
- #ifdef DEBUGMOUSE
- #define DEBUGM(data) fprintf data
- #else
- #define DEBUGM(data)
- #endif
-
- #ifdef HAVE_LIBGPM
-
- /* GPM specific mouse support definitions */
- void show_mouse_pointer (int x, int y);
-
- #else
-
- /* Mouse support definitions for non-GPM mouse */
- #define show_mouse_pointer(a,b)
-
- #endif
-
- #endif /* MC_MOUSE_H */
-